<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
      <link rel="stylesheet" type="text/css" href="style.css" />
   </head>
   <body onload="if (top.frames['componentsframe'] == undefined) { s = window.location.toString(); window.location = 'index.html?p=' + s.substring(s.lastIndexOf('/')+1); }">
<h2 class="comptitle">Simple Module <i>NotificationBoard</i></h2>
<b>Package:</b> inet.base<br/><b>File: <a href="src-inet_stub-base-NotificationBoard.ned.html">src/inet_stub/base/NotificationBoard.ned</a></b><br/><p><a href="../doxy/a00164.html" target="mainframe"><b>C++ definition</b></a></p>

<p>Using ~<a href="inet.base.NotificationBoard.html">NotificationBoard</a>, modules can now notify each other about
"events" such as routing table changes, interface status changes (up/down),
interface configuration changes, wireless handovers, changes in the state
of the wireless channel, mobile node position changes, etc.</p>
<p>The ~<a href="inet.base.NotificationBoard.html">NotificationBoard</a> has exactly one instance within a host or router
model, and acts as a intermediary between module where state changes
can occur and modules which are interested in learning about those
changes. It *must* be named as "notificationBoard" to work correctly.</p>
<p>~<a href="inet.base.NotificationBoard.html">NotificationBoard</a> is accessed via direct C++ method calls (not
message exchange). Modules can "subscribe" to categories of changes
(e.g. "routing table changed" or "radio channel became empty").
When such a change occurs, the corresponding module (e.g. the ~RoutingTable
or the physical layer module) will let ~<a href="inet.base.NotificationBoard.html">NotificationBoard</a> know, and
it will disseminate this information to all interested modules.</p>
<img src="inet.base.NotificationBoard-type.png" ismap="yes" usemap="#type-diagram"/><map name="type-diagram">
<area shape="rect" href="inet.base.NotificationBoard.html" title="NotificationBoard" alt="NotificationBoard" coords="0,30,140,70">
</map>
<h3 class="subtitle">Usage diagram:</h3>
<p>The following diagram shows usage relationships between types.
Unresolved types are missing from the diagram. Click <a href="full-ned-usage-diagram.html">here</a> to see the full picture.</p>
<img src="inet.base.NotificationBoard-usage.png" ismap="yes" usemap="#usage-diagram"/><map name="usage-diagram"><area shape="rect" href="inet.base.NotificationBoard.html" title="Simple Module NotificationBoard" alt="NotificationBoard" coords="7,16,116,40">
</map>
<h3 class="subtitle">Inheritance diagram:</h3>
<p>The following diagram shows inheritance relationships for this type.
Unresolved types are missing from the diagram. Click <a href="full-ned-inheritance-diagram.html">here</a> to see the full picture.</p>
<img src="inet.base.NotificationBoard-inheritance.png" ismap="yes" usemap="#inheritance-diagram"/><map name="inheritance-diagram"><area shape="rect" href="inet.base.NotificationBoard.html" title="Simple Module NotificationBoard" alt="NotificationBoard" coords="7,16,116,40">
</map>
<h3 class="subtitle">Properties:</h3>
<table class="propertiestable">
   <tr>
      <th class="name">Name</th>
      <th class="value">Value</th>
      <th class="description">Description</th>
   </tr>
<tr>
   <td>display</td>
   <td><i>i=block/control</i></td>
   <td></td>
</tr>
</table>
<h3 class="subtitle">Source code:</h3>
<pre class="src"><span style="color: #808080; font-style: italic; ">//
// Using ~NotificationBoard, modules can now notify each other about
// &quot;events&quot; such as routing table changes, interface status changes (up/down),
// interface configuration changes, wireless handovers, changes in the state
// of the wireless channel, mobile node position changes, etc.
//
// The ~NotificationBoard has exactly one instance within a host or router
// model, and acts as a intermediary between module where state changes
// can occur and modules which are interested in learning about those
// changes. It *must* be named as &quot;notificationBoard&quot; to work correctly.
//
// ~NotificationBoard is accessed via direct C++ method calls (not
// message exchange). Modules can &quot;subscribe&quot; to categories of changes
// (e.g. &quot;routing table changed&quot; or &quot;radio channel became empty&quot;).
// When such a change occurs, the corresponding module (e.g. the ~RoutingTable
// or the physical layer module) will let ~NotificationBoard know, and
// it will disseminate this information to all interested modules.
//
</span><span style="color: #800000; font-weight: bold; ">simple</span><span style="color: #000000; "> </span><span style="color: #000000; ">NotificationBoard</span><span style="color: #000000; ">
{
    </span><span style="color: #800000; font-weight: bold; ">parameters</span><span style="color: #000000; ">:
        </span><span style="color: #000000; font-weight: bold; ">@display</span><span style="color: #000000; ">(</span><span style="color: #008000; ">&quot;i=block/control&quot;</span><span style="color: #000000; ">);
}

</span></pre>
   <hr><p class="footer"><a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top"><img src="by-sa.png"></a> This documentation is released under the <a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top">Creative Commons license</a></p>
   </body>
</html>
